package com.marvels.financial.collection.dto;

import java.math.BigDecimal;
import java.util.Date;

import com.marvels.common.dto.BaseDTO;
/**
 * 催收合同信息
 * @author zhaosa
 *
 */
public class OverDueCollectContractDTO extends BaseDTO{

	/**
	 * 
	 */
	private static final long serialVersionUID = -7140490714883649845L;
	
	/**
	 * 贷款金额
	 */
	private BigDecimal loanAmt = BigDecimal.ZERO.setScale(2);
	/**
	 * 借据ID
	 */
	private String loanId;
	/**
	 * 产品名称
	 */
	private String productName;
	/**
	 * 贷款期数
	 */
	private int termNo;
	/**
	 * 当前逾期天数
	 */
	private int delayDays;
	/**
	 * 最大逾期天数
	 */
	private int maxDelayDays;
	/**
	 * 当前应还款总金额
	 */
	private BigDecimal totalPaymentAmt= BigDecimal.ZERO.setScale(2);
	/**
	 * 当前应还本金总额
	 */
	private BigDecimal totalPrincipalAmt= BigDecimal.ZERO.setScale(2);
	/**
	 * 当前应还利息总额
	 */
	private BigDecimal totalInterestAmt= BigDecimal.ZERO.setScale(2);
	/**
	 * 当前应还罚费总金额
	 */
	private BigDecimal totalPenaltyFeeAmt= BigDecimal.ZERO.setScale(2);
	/**
	 * 当前应还费用总金额
	 */
	private BigDecimal totalFeeAmt= BigDecimal.ZERO.setScale(2);
	/**
	 * 风险分类名称
	 */
	private String riskCategoryName;
	/**
	 * 任务所属催收员
	 */
	private String assignee;
	/**
	 * 首次逾期期次
	 */
	private int firstOverDueTermNo;
	/**
	 * 当前逾期期次
	 */
	private int currOverDueTermNo;
	
	/**
	 * 放款时间
	 */
	private Date loanTime;

	/**
	 * 逾期滞纳金
	 */
	private BigDecimal lateFeeOs;
	
	/**
	 * 还款日期
	 */
	private Date paymentDate;
	/**
	 * 最后还款日期
	 */
	private Date paymentDateLate;
	/**
	 * 应还本金
	 */
	private BigDecimal paymentPrincipal;
	
	public BigDecimal getLoanAmt() {
		return loanAmt;
	}
	public void setLoanAmt(BigDecimal loanAmt) {
		this.loanAmt = loanAmt;
	}
	public String getLoanId() {
		return loanId;
	}
	public void setLoanId(String loanId) {
		this.loanId = loanId;
	}
	public String getProductName() {
		return productName;
	}
	public void setProductName(String productName) {
		this.productName = productName;
	}
	public int getTermNo() {
		return termNo;
	}
	public void setTermNo(int termNo) {
		this.termNo = termNo;
	}
	public int getDelayDays() {
		return delayDays;
	}
	public void setDelayDays(int delayDays) {
		this.delayDays = delayDays;
	}
	public int getMaxDelayDays() {
		return maxDelayDays;
	}
	public void setMaxDelayDays(int maxDelayDays) {
		this.maxDelayDays = maxDelayDays;
	}
	public BigDecimal getTotalPaymentAmt() {
		return totalPaymentAmt;
	}
	public void setTotalPaymentAmt(BigDecimal totalPaymentAmt) {
		this.totalPaymentAmt = totalPaymentAmt;
	}
	public BigDecimal getTotalPrincipalAmt() {
		return totalPrincipalAmt;
	}
	public void setTotalPrincipalAmt(BigDecimal totalPrincipalAmt) {
		this.totalPrincipalAmt = totalPrincipalAmt;
	}
	public BigDecimal getTotalInterestAmt() {
		return totalInterestAmt;
	}
	public void setTotalInterestAmt(BigDecimal totalInterestAmt) {
		this.totalInterestAmt = totalInterestAmt;
	}
	public BigDecimal getTotalPenaltyFeeAmt() {
		return totalPenaltyFeeAmt;
	}
	public void setTotalPenaltyFeeAmt(BigDecimal totalPenaltyFeeAmt) {
		this.totalPenaltyFeeAmt = totalPenaltyFeeAmt;
	}
	public BigDecimal getTotalFeeAmt() {
		return totalFeeAmt;
	}
	public void setTotalFeeAmt(BigDecimal totalFeeAmt) {
		this.totalFeeAmt = totalFeeAmt;
	}
	public String getRiskCategoryName() {
		return riskCategoryName;
	}
	public void setRiskCategoryName(String riskCategoryName) {
		this.riskCategoryName = riskCategoryName;
	}
	public String getAssignee() {
		return assignee;
	}
	public void setAssignee(String assignee) {
		this.assignee = assignee;
	}
	public int getFirstOverDueTermNo() {
		return firstOverDueTermNo;
	}
	public void setFirstOverDueTermNo(int firstOverDueTermNo) {
		this.firstOverDueTermNo = firstOverDueTermNo;
	}
	public int getCurrOverDueTermNo() {
		return currOverDueTermNo;
	}
	public void setCurrOverDueTermNo(int currOverDueTermNo) {
		this.currOverDueTermNo = currOverDueTermNo;
	}
	
	
	public Date getLoanTime() {
		return loanTime;
	}
	public void setLoanTime(Date loanTime) {
		this.loanTime = loanTime;
	}
	public BigDecimal getLateFeeOs() {
		return lateFeeOs;
	}
	public void setLateFeeOs(BigDecimal lateFeeOs) {
		this.lateFeeOs = lateFeeOs;
	}
	
	
	public Date getPaymentDateLate() {
		return paymentDateLate;
	}
	public void setPaymentDateLate(Date paymentDateLate) {
		this.paymentDateLate = paymentDateLate;
	}
	
	public Date getPaymentDate() {
		return paymentDate;
	}
	public void setPaymentDate(Date paymentDate) {
		this.paymentDate = paymentDate;
	}
	public BigDecimal getPaymentPrincipal() {
		return paymentPrincipal;
	}
	public void setPaymentPrincipal(BigDecimal paymentPrincipal) {
		this.paymentPrincipal = paymentPrincipal;
	}
	public String toString() {
		return "OverDueCollectContractDTO [loanAmt=" + loanAmt + ", loanId="
				+ loanId + ", productName=" + productName + ", termNo="
				+ termNo + ", delayDays=" + delayDays + ", maxDelayDays="
				+ maxDelayDays + ", totalPaymentAmt=" + totalPaymentAmt
				+ ", totalPrincipalAmt=" + totalPrincipalAmt
				+ ", totalInterestAmt=" + totalInterestAmt
				+ ", totalPenaltyFeeAmt=" + totalPenaltyFeeAmt
				+ ", totalFeeAmt=" + totalFeeAmt + ", riskCategoryName="
				+ riskCategoryName + ", assignee=" + assignee
				+ ", firstOverDueTermNo=" + firstOverDueTermNo
				+ ", currOverDueTermNo=" + currOverDueTermNo + "]";
	}
}
